package com.itheima.finaldemo;

public class FinalDemo1 {
    public static void main(String[] args) {
        //目标:认识final关键字的作用
        //3.final修饰变量:变量有且仅能被赋值一次(必须要赋值)
        /*
            变量有哪些?
            a.成员变量:
                    静态成员变量
                    实例成员变量
            b.局部变量(方法内部的变量):

        */

        //final引用类型的变量,变量存储的地址不能被改编,但地址所指向对象的内容是可以被改变的
        final int[] arr={1,2,3,4,5};
        arr[2]=90;
        System.out.println(arr[2]);
    }

    //final修饰静态成员变量
    //final修饰静态变量.这个变量以后被成为常量,可以记住一个固定值,并且程序中不能修改了,通常这个值作为系统的配置消息
    //常量的名称,建议全部大写,多个单词用下划线链接
    static final String schoolName="黑马程序员";

    final double PI=3.14;

    //final修饰实例变量(一般没有意义)
    private final String name="猪刚鬣";



}

//1.final修饰类,类不能被继承
final class A{}
//class B extends A{}   报错

//2.final修饰方法,方法不能被重写
class C{
    public final void show(){
        System.out.println("show方法");
    }
}

//class D extends C{
//    @Override
//    public void show() {
//        System.out.println("D类重写C类方法");
//    }
//}
